স্ট্রাকচার কী এবং এর ব্যবহার

Computer Programming - সি++ প্রোগ্রামিং (C++ Programming) স্ট্রাকচার এবং ইউনিয়ন |
272
272

স্ট্রাকচার (Structure) C++ এর একটি ডেটা স্ট্রাকচার, যা বিভিন্ন ডেটা টাইপের ডেটা মেম্বার বা ভ্যারিয়েবলকে একত্রে সংরক্ষণ করতে ব্যবহৃত হয়। স্ট্রাকচার ব্যবহার করে একটি ডেটা টাইপের মধ্যে একাধিক ডেটা মেম্বারকে গ্রুপ করা যায়, যা কোডিংয়ে আরও সুবিধা প্রদান করে।

স্ট্রাকচার ঘোষণা

C++ এ struct কীওয়ার্ড ব্যবহার করে স্ট্রাকচার ঘোষণা করা হয়। স্ট্রাকচার ঘোষণার মধ্যে বিভিন্ন ডেটা মেম্বার (যেমন ইন্টিজার, ফ্লোট, স্ট্রিং ইত্যাদি) সংজ্ঞায়িত করা হয়।

উদাহরণ

#include <iostream>
using namespace std;

// স্ট্রাকচার ঘোষণা
struct Person {
    string name;
    int age;
    float height;
};

int main() {
    // স্ট্রাকচার অবজেক্ট তৈরি
    Person person1;

    // ডেটা মেম্বার অ্যাসাইন করা
    person1.name = "John Doe";
    person1.age = 25;
    person1.height = 5.9;

    // ডেটা মেম্বার প্রদর্শন
    cout << "Name: " << person1.name << endl;
    cout << "Age: " << person1.age << endl;
    cout << "Height: " << person1.height << endl;

    return 0;
}

বর্ণনা:

  • এখানে Person নামে একটি স্ট্রাকচার ঘোষণা করা হয়েছে, যাতে name, age, এবং height নামে তিনটি ডেটা মেম্বার রয়েছে।
  • person1 নামে Person স্ট্রাকচারের একটি অবজেক্ট তৈরি করা হয়েছে এবং এতে মান অ্যাসাইন করে প্রদর্শন করা হয়েছে।

স্ট্রাকচারের ব্যবহার

স্ট্রাকচার ব্যবহার করে বিভিন্ন ডেটা টাইপ একসাথে সংরক্ষণ এবং পরিচালনা করা যায়। এটি বিশেষ করে যখন একাধিক ডেটা টাইপের ডেটা একত্রে সংরক্ষণ করতে হয় তখন কার্যকরী।

উদাহরণ: একাধিক স্ট্রাকচার অবজেক্ট তৈরি

#include <iostream>
using namespace std;

struct Book {
    string title;
    string author;
    int pages;
};

int main() {
    Book book1 = {"The Catcher in the Rye", "J.D. Salinger", 277};
    Book book2 = {"To Kill a Mockingbird", "Harper Lee", 324};

    cout << "Book 1 Title: " << book1.title << ", Author: " << book1.author << ", Pages: " << book1.pages << endl;
    cout << "Book 2 Title: " << book2.title << ", Author: " << book2.author << ", Pages: " << book2.pages << endl;

    return 0;
}

বর্ণনা:

  • এখানে Book নামের একটি স্ট্রাকচার তৈরি করা হয়েছে, যা title, author, এবং pages ডেটা মেম্বার ধারণ করে।
  • book1 এবং book2 নামে দুটি স্ট্রাকচার অবজেক্ট তৈরি করা হয়েছে এবং তাদের মান প্রদর্শন করা হয়েছে।

ফাংশনে স্ট্রাকচার পাস করা

স্ট্রাকচারকে প্যারামিটার হিসেবে ফাংশনে পাস করা যায়। এটি পাস-বাই-ভ্যালু এবং পাস-বাই-রেফারেন্স উভয়ভাবেই করা যেতে পারে।

উদাহরণ: পাস-বাই-ভ্যালু

#include <iostream>
using namespace std;

struct Person {
    string name;
    int age;
};

void displayPerson(Person p) {
    cout << "Name: " << p.name << ", Age: " << p.age << endl;
}

int main() {
    Person person1 = {"Alice", 30};
    displayPerson(person1);

    return 0;
}

উদাহরণ: পাস-বাই-রেফারেন্স

#include <iostream>
using namespace std;

struct Person {
    string name;
    int age;
};

void modifyPerson(Person &p) {
    p.age += 1; // বয়স এক বছর বৃদ্ধি করা
}

int main() {
    Person person1 = {"Bob", 40};
    cout << "Before modification: " << person1.age << endl;

    modifyPerson(person1);
    cout << "After modification: " << person1.age << endl;

    return 0;
}

বর্ণনা:

  • পাস-বাই-ভ্যালু: এখানে Person অবজেক্ট displayPerson() ফাংশনে পাস করা হয়েছে এবং কেবলমাত্র এর কপি ব্যবহার করা হয়েছে।
  • পাস-বাই-রেফারেন্স: এখানে modifyPerson() ফাংশনে Person অবজেক্ট রেফারেন্স হিসেবে পাস করা হয়েছে এবং এর মান পরিবর্তন করা হয়েছে।

স্ট্রাকচারের মধ্যে অ্যারের ব্যবহার

স্ট্রাকচারের মধ্যে অ্যারে ব্যবহার করে একাধিক মান সংরক্ষণ করা যায়।

#include <iostream>
using namespace std;

struct Student {
    string name;
    int marks[5];
};

int main() {
    Student student1 = {"Alice", {85, 90, 78, 88, 92}};

    cout << "Student Name: " << student1.name << endl;
    cout << "Marks: ";
    for (int i = 0; i < 5; i++) {
        cout << student1.marks[i] << " ";
    }
    cout << endl;

    return 0;
}

বর্ণনা:

  • এখানে Student স্ট্রাকচারের মধ্যে marks নামে একটি ইন্টিজার অ্যারে ব্যবহার করা হয়েছে, যা ৫টি বিষয়ের মার্ক্স ধারণ করে।

স্ট্রাকচারের সুবিধা

১. ডেটা গ্রুপিং: বিভিন্ন ধরনের ডেটা একত্রে সংরক্ষণ করা যায়। ২. সহজ ডেটা মডেলিং: একই ধরনের একাধিক অবজেক্ট তৈরি করা যায়, যা রিয়েল-ওয়ার্ল্ড এন্টিটির মডেলিংয়ে সহায়ক। ৩. সহজ ব্যবহার: সহজেই ফাংশনে পাস করা যায় এবং প্রোগ্রামকে আরও পরিষ্কার ও সংগঠিত রাখে।

স্ট্রাকচার বনাম ক্লাস

বৈশিষ্ট্যস্ট্রাকচারক্লাস
অ্যাক্সেস স্পেসিফায়ারডিফল্টভাবে publicডিফল্টভাবে private
ইনহেরিটেন্সসাধারণত ইনহেরিটেন্স সমর্থন করে নাইনহেরিটেন্স সমর্থন করে
মেম্বার ফাংশনস্ট্রাকচারে মেম্বার ফাংশন থাকতে পারেক্লাসে মেম্বার ফাংশন থাকে

সারসংক্ষেপ

  • স্ট্রাকচার হলো বিভিন্ন ডেটা মেম্বারকে একটি একক ইউনিটে গ্রুপ করার একটি পদ্ধতি।
  • এটি ডেটা মডেলিংয়ে সহায়ক এবং প্রোগ্রামে সহজ ডেটা ম্যানেজমেন্টে ব্যবহার করা যায়।
  • স্ট্রাকচারের মধ্যে মেম্বার ফাংশন, অ্যারে, এবং ফাংশনে পাস করা যায়।

স্ট্রাকচার C++ এ ডেটা সংরক্ষণ ও সংগঠিত করার একটি কার্যকর উপায়, যা বড় প্রোগ্রামিং প্রকল্পে ডেটা ম্যানেজমেন্ট সহজ করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion